package hcn.api.service.brandnew.dengji;

import ctd.controller.exception.ControllerException;
import ctd.util.annotation.RpcService;
import hcn.protocol.brandnew.dengji.guahao.*;

/**
 * 平台消息模型/公用/v4.0/登记类业务/挂号
 *
 * @author enjoyLife
 */
public interface GuahaoService {


    /**
     * 门诊停诊信息查询
     */
    @RpcService
    GetCanceledWorksResponse getCanceledWorks(GetCanceledWorksRequest req) throws ControllerException;


    /**
     * 挂号取消预约通知
     */
    @RpcService
    ListRosteringDeptResponse listRosteringDept(ListRosteringDeptRequest req) throws ControllerException;


    /**
     * 门诊患者列表查
     */
    @RpcService
    ListPatientResponse listPatient(ListPatientRequest req) throws ControllerException;


    /**
     * 门诊患者列表查询
     */
    @RpcService
    OutpatientListPatientResponse outpatientListPatient(OutpatientListPatientRequest req) throws ControllerException;


    /**
     * 全院门诊就诊记录查询
     */
    @RpcService
    QueryOutpatientRecordResponse queryOutpatientRecord(QueryOutpatientRecordRequest req) throws ControllerException;


    /**
     * 医生排班信息查
     */
    @RpcService
    ListRosteringResponse listRostering(ListRosteringRequest req) throws ControllerException;


    /**
     * 历史就诊记录查
     */
    @RpcService
    ListHistoryRecordResponse listHistoryRecord(ListHistoryRecordRequest req) throws ControllerException;


    /**
     * 门诊就诊状态更
     */
    @RpcService
    UpdateVisitStatusResponse updateVisitStatus(UpdateVisitStatusRequest req) throws ControllerException;


    /**
     * 门诊挂号信息新增
     */
    @RpcService
    AppointmentPayResponse appointmentPay(AppointmentPayRequest req) throws ControllerException;


    /**
     * 门诊就诊状态查询
     */
    @RpcService
    SyncOrderStateResponse syncOrderState(SyncOrderStateRequest req) throws ControllerException;


    /**
     * 门诊挂号信息更新
     */
    @RpcService
    ReturnVisitPaymentCancelResponse returnVisitPaymentCancel(ReturnVisitPaymentCancelRequest req) throws ControllerException;


    /**
     * 门诊挂号信息查询
     */
    @RpcService
    GetMedicalregisterInfoResponse getMedicalregisterInfo(GetMedicalregisterInfoRequest req) throws ControllerException;


    /**
     * 门诊就诊记录查
     */
    @RpcService
    GetVisitingRecordResponse getVisitingRecord(GetVisitingRecordRequest req) throws ControllerException;


    /**
     * 门诊签到取号新增
     */
    @RpcService
    TakeNumberResponse takeNumber(TakeNumberRequest req) throws ControllerException;



}
